package com.yunke.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yunke.entity.YunkeScheduleJob;

/**
 * 定时任务服务接口
 * 
 * @author yunke
 * @since 1.0.0
 */
public interface YunkeScheduleJobService extends IService<YunkeScheduleJob> {

    /**
     * 创建定时任务
     */
    boolean createJob(YunkeScheduleJob job);

    /**
     * 更新定时任务
     */
    boolean updateJob(YunkeScheduleJob job);

    /**
     * 删除定时任务
     */
    boolean deleteJob(Long id);

    /**
     * 分页查询定时任务列表
     */
    IPage<YunkeScheduleJob> getJobPage(Integer current, Integer size,
                                      String jobName, String jobGroup, Integer jobStatus);

    /**
     * 启动定时任务
     */
    boolean startJob(Long id);

    /**
     * 停止定时任务
     */
    boolean stopJob(Long id);

    /**
     * 暂停定时任务
     */
    boolean pauseJob(Long id);

    /**
     * 恢复定时任务
     */
    boolean resumeJob(Long id);

    /**
     * 立即执行定时任务
     */
    boolean executeJob(Long id);
} 